#include <stdio.h>
#include <string.h>
#include <stdlib.h> 
#include <dirent.h> 
#include <sys/types.h> 
#include <unistd.h> 

int main(int argc, char* argv[]) {
	if (argc != 2) {
		fprintf(stderr, "Usage: %s <directory>\n", argv[0]);
		exit(EXIT_FAILURE);
	}

	DIR* dir = opendir(argv[1]); // 系统调用，自动查阅 
	if (!dir) {
		perror("opendir");
		exit(EXIT_FAILURE);
	}

	struct dirent* entry;
	while ((entry = readdir(dir)) != NULL) { // 系统调用，自动查阅 
		// Skip the "." and ".." directory entries 
		if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..")
			== 0) {
			continue;
		}

		printf("Filename: %s, Inode: %lu\n", entry->d_name, (unsigned long)entry->d_ino);
	}
	closedir(dir);
	return 0;
}
